As an ever increasing number of applications and services are being made available over networks such as the Internet, a number of content, application, and/or service providers are turning to technologies such as remote resource sharing and cloud computing. Cloud computing is a general term often used to describe the process of providing access to electronic resources through services, such as Web services, where the hardware and/or software used to support those services is made to be dynamically scalable to meet the needs of the services at any given time. A user or customer typically will rent, lease, or otherwise pay for access to resources through the cloud, and thus does not have to purchase and maintain the hardware and/or software to provide access to these resources. A service provider that owns those resources will usually take on the responsibility of maintaining and managing the resources, ensuring that they are highly available, scalable and otherwise ready to provide the necessary services.
In such cloud based environments, service providers typically want to meter the usage of their resources for various purposes, such as to determine appropriate amounts to charge their customers. For example, many service providers wish to charge customers based on the amount of data or bandwidth that their device(s) or application(s) consumes. In certain instances, however, the processes used for metering the resources may actually introduce some amounts of latency, network jitter or other interference with the regular processing of the system. It is thus desirable to minimize such interference caused by usage metering and monitoring in order to provide a better service to the users.